<?php defined('SYSPATH') or die('No direct script access.');

class Controller_Auth extends Controller_Base {
	

	public function action_index()
	{
		parent::template();
		$auth = Auth::instance();
		$lang = $this->request->param('lang','');
		
		//	Якщо користувач авторизований
		if($auth->logged_in() != 0)
		{
			//	Перенапрвлення на сторінку користувача
			Request::initial()->redirect('index.php/auth/'.$lang.'/home');
			return parent::before();
		}
		else
		{
			//	Перенапрвлення користувача на сторінку входу
			Request::initial()->redirect('/index.php/auth/'.$lang.'/login/');
			return parent::before();
		}
	}
	
	//
	//	Вхід користувача
	public function action_login()
	{
		parent::template();
		$auth = Auth::instance();
		$this->session = Session::instance();
		$lang = $this->request->param('lang','');
		$data['lang'] = $lang;
		
		
		//	Формування змінних для вложеного шаблону
		$data['content'] = 'content';
		
		//	Якщо передано форму входу
		if(isset($_POST['enterForm']))
		{
			$auth->login(Arr::get($_POST, 'login', ''), Arr::get($_POST, 'password', ''));
		}
		
		//	Якщо користувач авторизований
		if($auth->logged_in() != 0)
		{
			//	Вивід сторінки користувача
			Request::initial()->redirect($this->session->get('prev_page'));
			$this->session->delete('prev_page');
			return parent::before();
		}
		else
		{
			$this->session->set('prev_page', $_SERVER['HTTP_REFERER']);
			
			//	Вивід форми входу для користувача
			$this->template->content = View::factory('auth/enter', $data);
		}

		$this->template->title = "Сторінка входу користувача!";
	}
	
	//
	//	Вихід користувача із сайту
	public function action_logout()
	{
		$auth = Auth::instance();
		$lang = $this->request->param('lang','');
		
		
		//	Вихід користувача
		$auth->logout();
		
		//	Перенапрвлення користувача на сторінку входу
		Request::initial()->redirect("/index.php/auth/".$lang."/login/");
		return parent::before();
	}

	//
	//	Відображення сторінки користувача
	public function action_register()
	{
		parent::template();
		$data = array();
		
		//	Якщо передано форму входу
		if(isset($_POST['registerForm']))
		{
			$register = new Model_Register();
			
			$username	= Arr::get($_POST, 'login', '');
			$email		= Arr::get($_POST, 'email', '');
			$password	= Arr::get($_POST, 'password', '');
			$password1	= Arr::get($_POST, 'password1', '');
			
			
			if($password == $password1)
			{
				$array = array(
					'username' => $username,
					'email' => $email,
					'password' => $password
				);
				
				$register->reg($array);
				
				//	Вивід форми реєстрації для користувача
				$this->template->content = View::factory('auth/isRegister', $data);
			}
			else
			{
				//	Вивід форми реєстрації для користувача
				$this->template->content = View::factory('auth/register', $data);
			}
		}
		else
		{
			//	Вивід форми реєстрації для користувача
			$this->template->content = View::factory('auth/register', $data);
		}
		
		$this->template->title = "Сторінка реєстрації сайту!";
	}
	
	//
	//	Відображення сторінки користувача
	public function action_home()
	{
		parent::template();
		$auth = Auth::instance();
		$shop = new Model_Shop();
		
		$data['lang']				= $this->request->param('lang','');
		$data['user_id']		= Auth::instance()->get_user()->id;
		$data['username']	= Auth::instance()->get_user()->username;
		
		$data['countOrders']	= $shop->getCountOrdersByUser($data['user_id']);
		
		
		//	вивід сторінки користувача
		$this->template->content = View::factory('auth/home', $data);
		
		$this->template->title = "Сторінка користувача!";
	}
	
} // End Welcome
